package org.nacos.provider.annotation;

import lombok.extern.slf4j.Slf4j;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

@Slf4j
public class CheckNumValidator implements ConstraintValidator<CheckNum, Integer> {

    private int value;

    @Override
    public void initialize(CheckNum constraintAnnotation) {
        // 初始化代码，传入value 值，可以在校验中使用
        this.value = constraintAnnotation.value();
    }

    @Override
    public boolean isValid(Integer value, ConstraintValidatorContext context) {
        // 这里写你的验证逻辑，返回true如果value是有效的，否则返回false
        if (0 == this.value) {
            log.info("标记参数为0，跳过校验！");
            return true;
        }
        // 假设我们只接受特定的字符串
        return value != null && 10 == value;
    }

}
